home *** CD-ROM | disk | FTP | other *** search
/ Aminet 1 (Walnut Creek) / Aminet - June 1993 [Walnut Creek].iso / aminet / os20 / util / exept19.lzh / ExecPatch.DOC < prev   
Text File  |  1993-04-21  |  3KB  |  72 lines

  1.                    ================================
  2.                       ExecPatch 1.9 (16 Apr 1993)
  3.                    Copyright (C) 1993 Arthur Hagen.
  4.                    ================================
  5.        This software is FreeWare, and NOT in the Public Domain!
  6.                 Requires KickStart 37.xx, CLI use only.
  7.  
  8. The Amiga is a multitasking machine (no kidding!), and will happily
  9. switch its CPU use between several tasks and processes too fast for the
  10. user really to notice.  This task switching system is the whole basis
  11. for the Amiga's multitasking capabilities, and has, naturally, been
  12. coded in efficient assembly to reduce overhead as much as possible.
  13. Even so, several of the basis multitasking functions of the system
  14. could be optimised even further, thus speeding up the machine when
  15. several tasks are running simultaneously, and/or the CPU use is high.
  16. So, I wrote this little utility that will replace some of the systems
  17. key functions with more speed-optimised, but excactly equal code.  Just
  18. put ExecPatch in your S:User-Startup or similar.  And Commodore should
  19. put these or better routines in their next OS.
  20.  
  21. The functions that will be modified in exec.library are:
  22. Switch()        Dispatch()      Exception()
  23. Wait()          DoIO()          WaitIO()
  24.  
  25. In addition, if you have a CPU without cache, the cache functions in
  26. exec.library that does nothing at all will be replaced with a return
  27. statement in the jumptable itself.  The functions will be checked first
  28. to see if they really does nothing but return, so everything should be
  29. safe.  (This replaces the program StubIt, btw.)
  30.  
  31. How much does ExecPatch help?
  32. =============================
  33. ExecPatch will only speed up the machine in a multitasking situation,
  34. so speed test programs will not report any increased speed, unless the
  35. test can be made with multitasking enabled.
  36. As a small test, I ran AIBB 5.5 in multitasking mode with priority 0
  37. (the same as all other normal tasks), while running two console
  38. windows in the background that just echoed "test" indefinately to
  39. their respective windows.  Without ExecPatch, AIBB could do 793
  40. dhrystones per second (on a 68010-equipped machine); with ExecPatch
  41. installed, this increased to 887 dhry/s - an increase of about 11.85%.
  42. The other two tasks running were of course speeded up as well.
  43.  
  44. Bugs/caveats:
  45. =============
  46. 1)  Some virus killers (like VirusChecker and my own VMon) might
  47. report that vectors have changed (especially the DoIO vector).  This
  48. is as it should be, as the vector really has changed, and it is
  49. nothing to worry about.  If there was a virus lurking on that vector,
  50. it would have been replaced by ExecPatch's routine.
  51. 2)  ExecPatch will steal a couple of hundred bytes permanently, and
  52. these will not be released to the system except at reboot.
  53. 3)  If you *only* have chip-mem or slow-mem on your system, don't
  54. expect too much from patches like this, as running code from ROM can
  55. actually prove to be faster, especially when displaying graphics.
  56.  
  57.  
  58. Three executable files are now included in the archive:
  59. ExecPatch     - Should work on all machines running OS 2.0/2.1
  60.         without coprocessors or MMU.
  61. ExecPatch_010 - Works only on 68010/20-equipped machines,
  62.                 but shaves off a few extra cycles.
  63. ExecPatch_881 - For 68020/30/40-machines equipped with coprocessors.
  64.  
  65.  
  66. Changes since version 1.6:
  67. Should now work on machines with cache, coprocessors and MMU.
  68. Code somewhat optimised.
  69.  
  70. Enjoy,
  71. *Art
  72.